<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
           //1.移除数组 arr[1, 2, 3, 4, 2] 中的2。不要直接修改数组 arr，结果返回新的数组
            //     step1 定义一个新数组
      //     step2 遍历旧数组
      //     step3 旧数组中的每个元素不等于2时push进新数组
      //     */
      //   let arr = [1, 2, 3, 4, 2];
      //   let newArr = [];
      //   for (let i = 0; i < arr.length; i++) {
      //     if (arr[i] != 2) {
      //       newArr.push(arr[i]);
      //     }
      //   }
      //   console.log(newArr); //[1,3,4]

      //2.定义一个函数,能在数组 arr[1, 2, 3, 4, 2] 的 "2"后面添加元素 "Melon"。不要直接修改数组 arr，结果返回新的数组
      //   let arr = [1, 2, 3, 4, 2];
      // 
      //   function fn() {
      //     let newArr = [];
      //     for (let i = 0; i < arr.length; i++) {
      //       if (arr[i] == 2) {
      //         //   遇到元素2 同时push进去两个元素
      //         newArr.push(arr[i], "Melon");
      //       } else {
      //         newArr.push(arr[i]);
      //       }
      //     }
      //     // 循环执行完后返回newArr
      //     return newArr;
      //   }
      //   //调用fn函数
      //   console.log(fn()); //[1, 2, 'Melon', 3, 4, 2, 'Melon']

      //3.统计数组 arr[1, 2, 3, 4, 2] 中2出现的次数
      // let arr = [1, 2, 3, 4, 2];
      // let num = 0; //用来记录次数
      // for (let i = 0; i < arr.length; i++) {
      //   //   如果该元素为2
      //   if (arr[i] == 2) {
      //     // 则num自增
      //     num++;
      //   }
      // }
      // console.log(num);//2

      //4.在arr里面输出年龄小于17的对象
      // var arr = [{
      //         name: "111",
      //         sex: "boy",
      //         age: 18
      //     },
      //     {
      //         name: "222",
      //         sex: "girl",
      //         age: 17
      //     },
      //     {
      //         name: "333",
      //         sex: "boy",
      //         age: 16
      //     },
      //     {
      //         name: "444",
      //         sex: "girl",
      //         age: 15
      //     },
      //     {
      //         name: "555",
      //         sex: "boy",
      //         age: 20
      //     }
      // ]
       //   //step1 遍历原来的数组
      //   for (let i = 0; i < arr.length; i++) {
      //     //   step2 里面的每个元素都是一个对象，访问对象的属性要用到点访问符
      //     // 如果元素的age属性小于17则打印
      //     if (arr[i].age < 17) {
      //       console.log(arr[i]);
      //     }
      //   }
      //   // 最后输出结果为
      //   //{name: '333', sex: 'boy', age: 16}
      //   // {name: '444', sex: 'girl', age: 15}

      //5.分析结果
        var b = "boy";
        console.log(b);//boy
        function fighting() {
          console.log(a);//undefined
          console.log(c);//undefined
          if (a === "apple") {
            a = "Alice";
          } else {
            a = "Ada";
          }
          console.log(a);//Ada
          var a = "Andy";
          middle();
          function middle() {
            console.log(c++);//NaN
            var c = 100;
            console.log(++c);//101
            small();
            function small() {
              console.log(a);//Andy
            }
          }
          var c = (a = 88);
          function bottom() {
            b = "baby";
            console.log(b);//baby
          }
          bottom();
        }
        fighting();
        console.log(b);//baby
    </script>
</body>
</html>